package programDetails;
/*
2. ==和equals区别
 */
public class _1_2_CompareEquals {
    public static void main(String[] args) {
        int n=4,m=4;
        System.out.println(n==m);

        //不同对象，地址不同，所以==返回false
        String str1=new String("hello");
        String str2=new String("hello");
        System.out.println(str1==str2);
        System.out.println(str1.equals(str2));

        //指向了同一个对象，地址相同，所以==返回true
        String str3=str1;
        String str4=str1;
        System.out.println(str3==str4);
        System.out.println(str3.equals(str4));

    }
}
/*
2、==和equals
    ==：
    对于基本数据类型变量，直接比较的是其值，
    对于非基本数据类型即引用数据类型，比较的是在内存中所指向的对象的地址。
    equals：
    不能比较基本数据类型
    对于引用数据类型，在类里面进行了重写，所以比较的是所指向的对象的内容，如果没有重写则和==一样比较的是变量指向的对象的地址。例如String、Date等。
 */